// 主进程
const { app, BrowserWindow } = require('electron')
// const { fileURLToPath } = require('url')
const { join } = require('path')
const process = require('process')

// const NODE_ENV = process.env.NODE_ENV

// 获取当前模块的目录路径
const mainDirname = __dirname

const createWindow = () => {
  const win = new BrowserWindow({
    width: 1200,
    height: 800,
    webPreferences: {
      preload: join(mainDirname, 'preload.js')
    }
  })
  // 打开开发工具
  win.webContents.openDevTools()

  // win.loadURL(
  //   NODE_ENV === 'development' ? 'http://localhost:9528' : `file://${join(__dirname, '../dist/index.html')}`
  // )
  win.loadURL('http://localhost:9528')
}

// 这段程序将会在 Electron 结束初始化
// 和创建浏览器窗口的时候调用
// 部分 API 在 ready 事件触发后才能使用。
app.whenReady().then(() => {
  createWindow()

  app.on('activate', () => {
    // 通常在 macOS 上，当点击 dock 中的应用程序图标时，如果没有其他
    // 打开的窗口，那么程序会重新创建一个窗口。
    if (BrowserWindow.getAllWindows().length === 0) createWindow()
  })
})

// 除了 macOS 外，当所有窗口都被关闭的时候退出程序。 因此，通常对程序和它们在
// 任务栏上的图标来说，应当保持活跃状态，直到用户使用 Cmd + Q 退出。
app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') app.quit()
})
